An atomic memory operation is one during which a processor core can read a location, modify it, and write it back in what appears to other cores as a single bus operation. An atomic memory operation in a multi-core system is one that cannot be divided into any smaller parts, or appears to other cores in the system to be a single operation. Read-modify-write is one of a class of atomic memory operations that both reads a memory location and writes a new value into it as part of the same operation, at least as it appears to other cores in the multi-core system. Atomic operations are prevalent in a diverse set of applications, including packet processing, high-performance computing, and machine learning, and, more generically, in dynamic scheduling algorithms, to name a few.
One or more central processing unit (CPU) cores can exist within a processor, which can occupy one of multiple sockets in a multi-socket system.
Execution of atomic operations can suffer inefficiencies, especially with contention for a same memory address among multiple sockets in a multi-socket system.